#include <REGX52.H>
#include "Delay.h"
/**
  * @brief 获取独立按键键码 
  * @param  无
  * @retval 按下按键的键码 0~4 无按键返回0
  */
	unsigned char Key_KeyNumber;
	unsigned char Key(void)
	{
	  unsigned char Temp=0;//TODO
		Temp=Key_KeyNumber;
		Key_KeyNumber=0;
	 return Temp;
	}
	/**
  * @brief  获取当前按键的状态，无消抖及松手检测
  * @param  无
  * @retval 按下按键的键码，范围：0,1~4,0表示无按键按下
  */
unsigned char Key_GetState()//返回当前状态
	{
		unsigned char KeyNumber = 0;
		if(P3_1==0){KeyNumber = 1;}
		if(P3_0==0){KeyNumber = 2;}
		if(P3_2==0){KeyNumber = 3;}
		if(P3_3==0){KeyNumber = 4;}
		return KeyNumber;
	
	}
/**
  * @brief  按键驱动函数，在中断中调用
  * @param  无
  * @retval 无
  */
void Key_Loop(void)
 {
	 static unsigned char NowState,LastState;//当前状态 下一个状态
	 LastState = NowState;//按键状态更新
   NowState=Key_GetState();//****这里返回值不是高低电平 而是返回的键码  0表示没按****
	 //if(LastState==0&&NowState==1) 一开始0表示啥也没干 没按下 现在状态返回1 也就是按下状态
	 if(LastState==1&&NowState==0)// 一开始1表示已经按下1了 现在状态返回0 表示已将松手了 也就是松手状态
	 { 
	    Key_KeyNumber=1;
	 }
	 if(LastState==2&&NowState==0)
	 { 
	    Key_KeyNumber=2;
	 }
	 if(LastState==3&&NowState==0)
	 { 
	    Key_KeyNumber=3;
	 }
	 if(LastState==4&&NowState==0)
	 { 
	    Key_KeyNumber=4;
	 }
 }